﻿namespace King.Api.Models.Dto
{
    /// <summary>
    ///  驱动、油泵、液压、散热信息
    /// </summary>
    public class OpenInfoDto
    {
        /// <summary>
        ///  驱动监控-往复杆1
        /// </summary>
        public DriveMonitoringDto DriveMonitoring { get; set; }
        /// <summary>
        /// 油泵操作1#
        /// </summary>
        public OilPumpDto OilPump { get; set; }
        /// <summary>
        /// 液压站状态1#
        /// </summary>
        public HydraulicStationDto HydraulicStation { get; set; }
        /// <summary>
        /// 散热系统1#
        /// </summary>
        public HeatDissipationSystemDto HeatDissipationSystem { get; set; }
    }

    /// <summary>
    /// 驱动监控-往复杆1
    /// </summary>
    public class DriveMonitoringDto
    {
        /// <summary>
        /// 控制模式
        /// </summary>
        public int mreciprod_controlmodel { get; set; }
        /// <summary>
        /// 轴使能
        /// </summary>
        public bool mreciprod_axisenable { get; set; }
        /// <summary>
        /// 正向点动
        /// </summary>
        public bool mreciprod_positiveinch { get; set; }
        /// <summary>
        /// 反向点动
        /// </summary>
        public bool mreciprod_reverseinch { get; set; }
        /// <summary>
        /// 故障清除
        /// </summary>
        public bool mreciprod_faultclear { get; set; }
        /// <summary>
        /// 点动速度r/min
        /// </summary>
        public int mreciprod_speedinch { get; set; }
        /// <summary>
        /// 目标位置pulse
        /// </summary>
        public int mreciprod_targetlocation { get; set; }
        /// <summary>
        /// 目标速度r/min
        /// </summary>
        public int mreciprod_targetspeed { get; set; }
        /// <summary>
        /// 回零触发
        /// </summary>
        public bool mreciprod_trig0return { get; set; }
        /// <summary>
        /// 定位触发
        /// </summary>
        public bool mreciprod_fixreturn { get; set; }
        /// <summary>
        /// 轴停止
        /// </summary>
        public bool mreciprod_axisstop { get; set; }
        /// <summary>
        /// 手动定位位置mm
        /// </summary>
        public int mreciprod_manullocation { get; set; }
        /// <summary>
        /// 手动定位速度mm/s
        /// </summary>
        public int mreciprod_manulspeed { get; set; }
        /// <summary>
        /// 自动定位脉冲
        /// </summary>
        public int mreciprod_autopulse { get; set; }
        /// <summary>
        /// 自动定位速度r/min
        /// </summary>
        public int mreciprod_autospeed { get; set; }
        /// <summary>
        /// 伺服准备好
        /// </summary>
        public bool mreciprod_servoready { get; set; }
        /// <summary>
        /// 位置到达标志
        /// </summary>
        public bool mreciprod_locationstand { get; set; }
        /// <summary>
        /// 速度到达标志
        /// </summary>
        public bool mreciprod_speedstand { get; set; }
        /// <summary>
        /// 回零完成标志
        /// </summary>
        public bool mreciprod_0stand { get; set; }
        /// <summary>
        /// 伺服故障标志
        /// </summary>
        public bool mreciprod_servorerror { get; set; }
        /// <summary>
        /// 抱闸信号解除标志
        /// </summary>
        public bool mreciprod_errorbandrelease { get; set; }
        /// <summary>
        ///当前位置pulse
        /// </summary>
        public int mreciprod_now_location { get; set; }
        /// <summary>
        ///当前速度r/min
        /// </summary>
        public int mreciprod_now_speed { get; set; }
        /// <summary>
        ///当前扭矩N.m
        /// </summary>
        public double mreciprod_now_torque { get; set; }
        /// <summary>
        ///当前负载率%
        /// </summary>
        public double mreciprod_now_load { get; set; }
        /// <summary>
        ///驱动器故障代码
        /// </summary>
        public int mreciprod_drivefault { get; set; }
    }
    /// <summary>
    /// 油泵操作1#
    /// </summary>
    public class OilPumpDto
    {
        /// <summary>
        /// 油泵电机1#/电源指示
        /// </summary>
        public bool hydraulicstation_motot1_power { get; set; }
        /// <summary>
        /// 油泵电机1#/运行指示
        /// </summary>
        public bool hydraulicstation_motot1_work { get; set; }
        /// <summary>
        /// 油泵电机2#/电源指示
        /// </summary>
        public bool hydraulicstation_motot2_power { get; set; }
        /// <summary>
        /// 油泵电机2#/运行指示
        /// </summary>
        public bool hydraulicstation_motot2_work { get; set; }


    }
    /// <summary>
    /// 液压站状态1#
    /// </summary>
    public class HydraulicStationDto
    {
        /// <summary>
        /// 液压站温度上限
        /// </summary>
        public bool hydraulicstation1_temp_uplimit { get; set; }
        /// <summary>
        /// 液压站温度下限
        /// </summary>
        public bool hydraulicstation1_temp_lowerlimit { get; set; }
        /// <summary>
        /// 液压站压力上限
        /// </summary>
        public bool hydraulicstation1_press_uplimit { get; set; }
        /// <summary>
        /// 液压站压力下限
        /// </summary>
        public bool hydraulicstation1_press_lowerlimit { get; set; }
        /// <summary>
        /// 液压站液位下限
        /// </summary>
        public bool hydraulicstation1_level_lowerlimit { get; set; }
        /// <summary>
        /// 液压站回油堵塞1
        /// </summary>
        public bool hydraulicstation1_return_block1 { get; set; }
        /// <summary>
        ///液压站回油堵塞2
        /// </summary>
        public bool hydraulicstation1_return_block2 { get; set; }
        /// <summary>
        ///液压站吸油堵塞1
        /// </summary>
        public bool hydraulicstation1_absorption_block1 { get; set; }
        /// <summary>
        ///液压站吸油堵塞2
        /// </summary>
        public bool hydraulicstation1_absorption_block2 { get; set; }
    }
    /// <summary>
    /// 散热系统1#
    /// </summary>
    public class HeatDissipationSystemDto
    {
        /// <summary>
        /// 电源指示
        /// </summary>
        public bool hydraulicstation1_cool_power { get; set; }
        /// <summary>
        /// 运行指示
        /// </summary>
        public bool hydraulicstation1_cool_work { get; set; }
        /// <summary>
        /// 散热系统工作模式  true 自动模式, false 强制模式
        /// </summary>
        public bool hydraulicstation1_cool_mode { get; set; }
    }
}
